草庐IT

Javascript JsTestDriver Jasmine 和 Jasmine-jquery

全部标签

javascript - jQuery promise 对象还有哪些其他类型?

我最近一直在阅读有关promise([type][,target])的信息返回Promise的函数对象。documentation指出默认的type是fx:Bydefault,typeis"fx",whichmeansthereturnedPromiseisresolvedwhenallanimationsoftheselectedelementshavecompleted.出于某种原因,我很难找到其他可用的类型。我假设其他类型可能是例如ajax在使用load()或类似方法将内容加载到集合中时得到解析(请注意,我知道如何处理load()保证,我只是举个例子)。某处是否有指定所有可用类型

javascript - 如何在 AngularJS 中实现 jQuery 范围 slider

我正在尝试使用anuglar-slider在我现有的AngularJS应用中。我关注了作者的评论here我从作者的github下载了以下文件(在Head标签中)并添加到我的index.htmlHTML代码:App.js(Angular代码)。我按照作者的指示添加了第二行,我怀疑我在那里做错了什么varapp=angular.module('myApp',[])angular.module('uiSlider',[]);app.constant('Config',{baseURL:"http://blah",httpTimeout:36000});app.config(function(

javascript - 测试 Jasmine 中是否触发了事件

在没有jquery-jasmine的情况下,如何测试Jasmine中是否触发了事件?我正在做一个不使用jQuery的项目(wohoo),我正在尝试为我的菜单触发功能编写一个单元测试。它是这样工作的:你点击一个按钮我的可测试组件然后运行​​document.dispatchEvent(newCustomEvent('menu.toggle'))我想测试组件是否确实发送了自定义事件。我该如何测试? 最佳答案 尝试了一下,找到了一个行之有效的解决方案:importtriggerEventfrom'trigger-event';import

javascript - 如何使用 JavaScript/jQuery 获得更流畅的滑动内容动画?

我有一些内容在这里滑动。http://www.smallsharptools.com/downloads/jQuery/Slider/slider.htmlHTML结构简单。有一个固定高度和宽度的外框,溢出设置为隐藏。然后是一个内部容器,其宽度设置为内部内容的全宽,它是一系列标有Item类的div元素。为了左右滑动内容器,我改变了左边距。向左走我减少变成负数的值,向右走我把它归零。但是我看到了锯齿状的动画,即使在我希望性能更好的Chrome中也是如此。我的问题是,如果我使用不同的技术来回移动它会更平滑吗?绝对定位会更顺畅还是我应该考虑其他事情?是否有任何我还不知道的制作流畅动画的秘诀?

javascript - jquery:选择文本事件

是否有可能当用户选择一些文本(非文本区域或输入)时,jquery可以调用我的回调让我知道选择了哪个div的文本,如果选择焦点丢失也调用我的回调?谢谢。 最佳答案 有点令人惊讶的是,没有简单的方法可以做到这一点。IE有一个select在所有元素上实现的事件,但其他浏览器从未将其扩展到输入之外。您必须处理整个文档的keyup和mouseup事件,即便如此,您的回调也可能在选择实际上没有改变时被调用。2013年10月13日更新WebKit浏览器已经支持Document节点上的selectionchange事件好几年了。IE回到5.5版本也

javascript - Jquery 在 for 循环之后将 html 元素附加到 div,奇怪的行为

代码如下:$('#date').append(''+'--SELECT--');for(variindata){$('#date').append(''+data[i]['date_time']+'');});$('#date').append('');总是在for循环上面添加。例如,如果我用workselect替换它,它会附加在末尾,它应该在的位置。为什么会发生这种情况,我该如何解决? 最佳答案 我相信jQuery会像这样生成DOM:--SELECT--foobaretc...因为它会自动关闭第一个之后.append().您之后要

javascript - Jquery - 使整个页面变暗并淡出一个 div 元素

我正在尝试执行以下操作:-单击链接会触发一个功能,该功能将显示一个DIV(#page-cover)使我的整个背景变暗。这个div的z-index为999-然后我想要另一个div(#red)以更高的z-index出现在变暗的背景/淡入淡出/显示上我的CSS:#page-cover{display:none;position:fixed;width:100%;height:100%;background-color:#000;z-index:999;top:0;left:0;}#red{background-color:red;width:100px;height:100px;}HTML/

javascript - Jasmine 测试中条件语句的使用

我有两个功能要测试;一个仅在“现代浏览器”中运行,另一个仅在“旧版”浏览器中运行。我使用Jasmine作为我的测试框架,使用Karma来运行我的测试。Karma将启动许多运行所有测试的浏览器。我的问题是在所有浏览器中测试我的所有功能会导致一些测试失败。例如,测试一个只应在现代浏览器中运行的函数在IE8中测试时会失败。要测试的代码:functiongetStuffFromSmartBrowser(){return'foo';}functiongetStuffFromNotSoSmartBrowser(){return'bar';}if('intelligence'inbrowser){g

javascript - 使用特定的 keyCode 测试 Jasmine 中的按键事件

我正在为触发事件的AngularJS指令编写测试当某些键被按下时。根据我的手动测试,一切正常。我想成为一名优秀的人,也想拥有一个完整的单元测试套件,但我遇到了一个我自己无法解决的问题:我想发送一个具体的keyCode在我的triggerHandler()在我的测试中调用,但我找不到一种方法来指定实际有效的键。我知道很多关于使用特定数据构建和发送事件的主题的问题和答案,但它们都不适用于我的设置:我的设置Karma测试运行器运行测试的PhantomJS浏览器(但也尝试过Firefox和Chrome但没有成功)我没有使用jQuery,我希望有一个常规的JS解决方案。一定有!测试代码varev

javascript - JQuery 函数的持久化

我正在尝试为HTML设置点击回调,使另一个节点可见。一路走来,我惊讶地发现下面两个语句并不等价:$("#title").click($("#content").toggle);$("#title").click(function(){$("#content").toggle();}当最终单击该元素时,第一个语句最终会导致TypeError,并显示一条消息“undefinedisnotafunction”,我推测这表明我分配给onclick回调的任何内容最终都是未定义的,不知何故不会保留在内存中。解决方法很简单(只需使用第二种形式的语句),但我真正想了解的是为什么将切换函数作为对象传递在